// 描述

// 有 n 个人排队，每个人有一个编号 i（ 1 ≤ i ≤ n ）,从左往右“ 1，2，1，2，…”报数，报到“ 1 ”的人出列，数到“ 2 ”的人立即占到队伍的最右端。报数过程反复进行，直到 n 个人都出列为止。已知 n个人原来的顺序，请写出他们的出列顺序。

// 输入描述

// 第一行为 n（ n≤100 ），第二行为 n 个编号 i（ 1≤i≤n），且 i 不会重复。

// 输出描述

// 一行，为他们的出列编号。

// 样例输入 1 

// 8
// 1 2 3 4 5 6 7 8
// 样例输出 1 

// 1 3 5 7 2 6 4 8
// 样例输入 2 

// 4
// 2 5 1 3
// 样例输出 2 

// 2 1 5 3

// 解题思路
// 1.创建队列，数据入队
// 2.遍历队列，没有下标，单独用一个变量自增模拟下标，121212，奇数偶数奇数偶数，
//  奇数出队，偶数重新入队
//  循环以上操作，直到队列为空



#include <bits/stdc++.h>
using namespace std;

queue<int> q;

int main() {
    int n, num;  // n 为队列人数，num 为编号
    cin >> n;
    for (int i = 1; i <= n; i++) {  // n 次入队操作
        cin >> num;
        q.push(num);  // 入队操作
    }

    int k = 1;  // 报数
    while (!q.empty()) {
        if (k % 2 != 0) {  // k 为奇数
            cout << q.front() << " ";  // 输出队首元素
            q.pop();  // 队首出队
        } else {
            q.push(q.front());  // 队首元素进入队尾
            q.pop();  // 队首出队
        }
        k++;
    }
    return 0;
}